1) Field of the Invention
The present invention relates to a test support program and a test support process for supporting an operational test which is performed for verifying a function of software under development. In particular, the present invention relates to a test support program and a test support process for supporting generation of a test pattern which is used in a test, where the test pattern contains at least one parameter to be inputted to a function and a return value to be returned from the function.
2) Description of the Related Art
In development of large-scale software, it is impossible to produce a program which contains no bug, from the beginning. Therefore, in order to develop software, it is necessary to check that a produced program operates as designed. When bugs are found by a test during development, and the program is appropriately corrected, it is possible to develop software which correctly operates as designed.
For example, in programs produced in an object-oriented manner, a method is produced for each function. Each method executes predetermined processing according to inputted data, and outputs a return value. Therefore, when an object-oriented program is tested, a test pattern including data to be inputted to each method and a return value to be outputted in correspondence with the inputted data is produced. It is possible to verify whether or not the program correctly operates, based on whether or not each method outputs an identical value as the test pattern in response to each input when the method is executed.
However, in software development, a great amount of man-hours are needed for testing. In particular, in the case where importance is placed on quality, sometimes the man-hour ratio between programming and program testing becomes 2:8.
Increase in the efficiency in the program testing is a great challenge to software development. In order to increase the efficiency of the program testing, test support tools have been developed. One of known test support tools, which is disclosed in, for example, Japanese Unexamined Patent Publication No. 6-250884, automatically generates a driver, a stub, and a command string for debugger control.
The driver is a module for calling a module to be tested, the stub is a module for duplicating an operation of a module subordinate to the module to be tested, and the command string for debugger control specifies at least one location at which input data as at least one variable is to be set and at least one field which is actually used in an executable statement, and prompts setting of the input data and confirmation of a result, where the at least one variable is necessary for execution of the module to be tested.
However, the test support tools can generate only minimal test patterns necessary for testing. Therefore, in order to perform a test with high reliability, it is necessary to additionally prepare test patterns containing various combinations of parameters and return values according to information which is assumed to represent functions of software and objects to be processed. In this case, operators are required to manually input the additionally prepared test patterns in accordance with the functions of the software as appropriate.
Further, when a program test is performed with high reliability, a great number of troubles (for example, with an average rate of 10 troubles/Ksteps, i.e., ten troubles in a thousand steps) are detected, and the troubles are corrected or specification is changed according to the troubles. Therefore, operations for changing test patterns in accordance with the program changes are frequently performed.
As explained above, conventionally, every time a software program under development is changed, a bothersome operation for changing test patterns is performed. Thus, enormous efforts have been expended for production of test patterns. Further, even when the test support tools are used, the work load of the production of test patterns cannot be reduced. Thus, the impossibility of reduction of the work load of the production of test patterns impedes use of the test support tools.